package DAO;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import Model.Paciente;
import Model.TipoMensagem;
import Utils.Conexao;

import com.mysql.jdbc.CallableStatement;

public class TipoMensagemDAO {	
	
	public static ArrayList<TipoMensagem> GetArrayListTipoMensagem()
	{
		Connection con = Conexao.getConection(); 
		ArrayList<TipoMensagem> arrTipoMensagem = new ArrayList<TipoMensagem>();
		try
		{
			String mysqlCall = "call spc_select_tipo_mensagem()";			
			CallableStatement call = (CallableStatement) con.prepareCall(mysqlCall);
			ResultSet res = call.executeQuery();			
			while(res.next())
			{				
				TipoMensagem tipoMensagem = new TipoMensagem();
				tipoMensagem.setIdTipoMensagem(res.getInt("id_tipo_mensagem"));
				tipoMensagem.setTipoMensagem(res.getString("mensagem"));
				arrTipoMensagem.add(tipoMensagem);
			}			
			con.close();			
			call.close();
		}
		catch(SQLException ex)
		{
			ex.printStackTrace();
		}
		
		return arrTipoMensagem;
	}
	
	protected static TipoMensagem LoadObject(int idtipoMensagem) throws SQLException
	{
		TipoMensagem tipoMensagem = new TipoMensagem();
		Connection con = Conexao.getConection();		
		String mysqlCall = "call spc_select_tipo_mensagem_por_id(?)";
		CallableStatement call =(CallableStatement) con.prepareCall(mysqlCall);
		call.setInt(1, idtipoMensagem);		
		ResultSet res = call.executeQuery();
		
		if(res.next())
			tipoMensagem = TipoMensagemDAO.setInstance(res);		
		
		call.close();		
		con.close();		
		return tipoMensagem;
	}
	
	private static TipoMensagem setInstance(ResultSet resultset) throws SQLException
	{
		TipoMensagem tipoMensagem = new TipoMensagem();
		tipoMensagem.setIdTipoMensagem(resultset.getInt("id_tipo_mensagem"));
		tipoMensagem.setTipoMensagem(resultset.getString("mensagem"));
		return tipoMensagem;
	}

	
}
